package com.qumitech.visualnovel.datasource.console;

import com.qumitech.visualnovel.model.dao.console.UserGiftVoiceRoomDO;
import com.qumitech.visualnovel.pubdef.dto.voiceroom.ConsoleVoiceRoomPieDataDTO;
import com.qumitech.visualnovel.pubdef.dto.voiceroom.query.VoiceRoomDataQueryDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserGiftVoiceRoomDOMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(UserGiftVoiceRoomDO record);

    int insertSelective(UserGiftVoiceRoomDO record);

    UserGiftVoiceRoomDO selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(UserGiftVoiceRoomDO record);

    int updateByPrimaryKey(UserGiftVoiceRoomDO record);

    Long getSendGiftCount(@Param("streamerId") Integer streamerId,
                          @Param("rebateType") Integer rebateType,
                          @Param("tableNameList") List<String> tableNameList,
                          @Param("startTime") String startTime,
                          @Param("endTime") String endTime);

    List<ConsoleVoiceRoomPieDataDTO> getPie(@Param("streamerId") Integer streamerId,
                                            @Param("rebateType") Integer rebateType,
                                            @Param("tableNameList") List<String> tableNameList,
                                            @Param("startTime") String startTime,
                                            @Param("endTime") String endTime);
}